package org.supda.system.util;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import org.apache.commons.codec.binary.Hex;
import org.apache.commons.lang.StringUtils;

/**
 * 
 * @author supda
 * @Date 2016-11-10 下午3:15:22
 *  加密算法,解密算法。
 */
public class SignatureUtil {

	/**
	 *  SHA-256加密算法，此算法属于散列算法，不可解密
	 * @param data
	 * @return
	 * @throws NoSuchAlgorithmException
	 * @throws UnsupportedEncodingException
	 */
	public static  String getSignature(String data){
		if(StringUtils.isEmpty(data))
				throw new RuntimeException("加密数据不能为空");
		try{
			MessageDigest digest = MessageDigest.getInstance("SHA-256");
			byte[] hash = digest.digest(data.getBytes("UTF-8"));
			String sha256 = Hex.encodeHexString(hash);
			return sha256;
		}catch(Exception e){
			throw new RuntimeException("sha-256加密异常");
		}
	}
}
